home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2005 May / PC för Alla 0505.iso / fullversioner / realsoft3d / data1.cab / Scripting / scripts / js / real / code / r3keyfr2.js < prev    next >
Encoding:
JavaScript  |  2005-04-04  |  26.8 KB  |  836 lines

  1.  
  2. // JavaScript wrapper for r3keyfr2.h
  3. // Auto generated file, do not modify by hand
  4. // Copyright ⌐ 2004, Realsoft Graphics Oy
  5.  
  6. var R3_KEYFRAME2_H = 1;
  7. include("real/code/r3chory.js")
  8.  
  9.  
  10. var R3CLID_KEYFRAME2 = 221;
  11.  
  12.  
  13.  
  14.  
  15. // Description: Add new tag to be animated
  16. // p1: Boolean, if true, no curves are created (caller will create anim curves later)
  17.  
  18. R3KFRMM_ADDTAG = 221000;
  19.  
  20. function mR3KFRMM_ADDTAG(p1) {
  21.   DoA2(this.r3obj, 221000, p1, R3TID_BOOLEAN, 0, 0, R3TID_INTEGER, 0);
  22. }
  23.  
  24. // Description: See if the given attribute is animated.
  25. // Returns: Object, animated attribute
  26. // p1: Integer, attribute identifier
  27. // p3: Integer, attribute index, or -1 for regular attributes    
  28.  
  29. R3KFRMM_TAGISANIMATED = 221001;
  30.  
  31. function mR3KFRMM_TAGISANIMATED(p1, p3) {
  32.   return R3ToJS(  DoA2(this.r3obj, 221001, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0));
  33. }
  34.  
  35. // Description: Update the attribute value of the current choreography.
  36. // p1: Integer, attribute id
  37. // p2: Integer, attribute index for indexed attrs, -1 for regular attrs
  38. // p3: Object, new value of the attribute    
  39.  
  40. R3KFRMM_TAGCHANGED = 221002;
  41.  
  42. function mR3KFRMM_TAGCHANGED(p1, p2, p3) {
  43.   DoA3(this.r3obj, 221002, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  44. }
  45.  
  46. // Description: Set new time
  47. // p1: Boolean, disable recalc (only set time).
  48. // p3: Number, new time    
  49.  
  50. R3KFRMM_NEWTIME = 221003;
  51.  
  52. function mR3KFRMM_NEWTIME(p1, p3) {
  53.   DoA2(this.r3obj, 221003, p1, R3TID_BOOLEAN, 0, p3, R3TID_FLOAT, 0);
  54. }
  55.  
  56. // Description: Set new time for the given choreography.
  57. // Returns: Boolean, true if succeeded
  58. // p1: Integer, chor index
  59. // p3: Number, new time value    
  60.  
  61. R3KFRMM_NEWCHOREOGRAPHYTIME = 221004;
  62.  
  63. function mR3KFRMM_NEWCHOREOGRAPHYTIME(p1, p3) {
  64.   return   DoA2(this.r3obj, 221004, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  65. }
  66.  
  67. // Description: Make the choreography not time dependent. See also R3KFRMM_SETINPUT method,    * for seting input to
  68. //      desired object/attribute.
  69. // Returns: Boolean, true if chor index was valid
  70. // p3: Integer, chor index    
  71.  
  72. R3KFRMM_SETTIMEOVERRIDE = 221005;
  73.  
  74. function mR3KFRMM_SETTIMEOVERRIDE(p3) {
  75.   return   DoA(this.r3obj, 221005, p3, R3TID_INTEGER, 0);
  76. }
  77.  
  78. // Description: Make the choreography time dependent.
  79. // Returns: Boolean, true if chor index was valid
  80. // p3: Integer, chor index    
  81.  
  82. R3KFRMM_UNSETTIMEOVERRIDE = 221006;
  83.  
  84. function mR3KFRMM_UNSETTIMEOVERRIDE(p3) {
  85.   return   DoA(this.r3obj, 221006, p3, R3TID_INTEGER, 0);
  86. }
  87.  
  88. // Description: Delete animated attribute object and associated choreographs.
  89. // Returns: Boolean, true if attribute was animated.
  90. // p1: Integer, attribute indentifier
  91. // p3: Integer, attribute index or -1 for regular attributes    
  92.  
  93. R3KFRMM_REMOVETAG = 221007;
  94.  
  95. function mR3KFRMM_REMOVETAG(p1, p3) {
  96.   return   DoA2(this.r3obj, 221007, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  97. }
  98.  
  99. // Description: Fetch the keyframe curve object. Note: returns NULL if    * the choreography is not a
  100. //      key framer, or if the attribute * is not key framed.
  101. // Returns: Object, curve object
  102. // p1: Integer, chor index
  103. // p2: Integer, attribute id
  104. // p3: Integer, attribute index, or -1 for regular attrs.    
  105.  
  106. R3KFRMM_GETCURVE = 221008;
  107.  
  108. function mR3KFRMM_GETCURVE(p1, p2, p3) {
  109.   return R3ToJS(  DoA3(this.r3obj, 221008, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0));
  110. }
  111.  
  112. // Description: Recalculate animated tag.
  113. // p1: Boolean, restore all origvals
  114. // p3: Integer, tag to be recalculated    
  115.  
  116. R3KFRMM_RECALCTAG = 221009;
  117.  
  118. function mR3KFRMM_RECALCTAG(p1, p3) {
  119.   DoA2(this.r3obj, 221009, p1, R3TID_BOOLEAN, 0, p3, R3TID_INTEGER, 0);
  120. }
  121.  
  122. // Description: See if the default choreography input (time) has been overridden
  123. // Returns: Boolean, TRUE if overridden (that is, input is not time).
  124. // p3: Integer, chor index    
  125.  
  126. R3KFRMM_TIMEOVERRIDE = 221010;
  127.  
  128. function mR3KFRMM_TIMEOVERRIDE(p3) {
  129.   return   DoA(this.r3obj, 221010, p3, R3TID_INTEGER, 0);
  130. }
  131.  
  132. // Description: Change the size of the array attribute.
  133. // p1: Integer, attribute id
  134. // p2: Integer, attribute index, or -1 for regular attrs
  135. // p3: Integer, new array size.    
  136.  
  137. R3KFRMM_CHANGENUMVALSFORTAG = 221011;
  138.  
  139. function mR3KFRMM_CHANGENUMVALSFORTAG(p1, p2, p3) {
  140.   DoA3(this.r3obj, 221011, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  141. }
  142.  
  143. // Description: Enumerate animation curves for a given choreography.
  144.  
  145. R3KFRMM_ENUMCURVES = 221012;
  146.  
  147. function mR3KFRMM_ENUMCURVES() {
  148.   DoA(this.r3obj, 221012, 0, R3TID_INTEGER, 0);
  149. }
  150.  
  151. // Description: Change the tag id and index of given choreography.
  152. // p1: Integer, tag
  153. // p2: Integer, index,
  154. // p3: Tag[], R3KFRMA_Tag, R3KFRMA_Index: New tag id and new index.    
  155.  
  156. R3KFRMM_CHANGETAGID = 221013;
  157.  
  158. function mR3KFRMM_CHANGETAGID(p1, p2, p3) {
  159.   Do3(this.r3obj, 221013, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  160. }
  161.  
  162. // Description: Set origvals for the attribute specified by 'tag' and 'index'.
  163. // Virtual method
  164. // p1: Integer, tag
  165. // p2: Integer, index
  166. // p3: Object, new origvals.    
  167.  
  168. R3KFRMM_SETORIGVAL = 221014;
  169.  
  170. function mR3KFRMM_SETORIGVAL(p1, p2, p3) {
  171.   DoA3(this.r3obj, 221014, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  172. }
  173.  
  174. // Description: Fetch the orig val.
  175.  
  176. R3KFRMM_GETORIGVAL = 221015;
  177.  
  178. function mR3KFRMM_GETORIGVAL() {
  179.   DoA(this.r3obj, 221015, 0, R3TID_INTEGER, 0);
  180. }
  181.  
  182. // Description: Create choreography objects for all the animated tags.
  183.  
  184. R3KFRMM_MAKECHOROBJECTS = 221016;
  185.  
  186. function mR3KFRMM_MAKECHOROBJECTS() {
  187.   DoA(this.r3obj, 221016, 0, R3TID_INTEGER, 0);
  188. }
  189.  
  190. // Description: Find chor object corresponding the given ordnum
  191. // Returns: Object, chor object or NULL if not found
  192. // p1: Object, animated tag if attr specific chor, otherwise NULL
  193. // p3: Integer, ordnum of the choreography    
  194.  
  195. R3KFRMM_GETCHOROBJ = 221017;
  196.  
  197. function mR3KFRMM_GETCHOROBJ(p1, p3) {
  198.   return R3ToJS(  DoA2(this.r3obj, 221017, p1, R3TID_OBJECT, 0, p3, R3TID_INTEGER, 0));
  199. }
  200.  
  201. // Description: Insert chor object with the given choreography index and attribute.
  202. // p1: Integer, choreograhy index
  203. // p2: Object, animated attribute
  204. // p3: Object, chor object to be inserted    
  205.  
  206. R3KFRMM_INSERT = 221018;
  207.  
  208. function mR3KFRMM_INSERT(p1, p2, p3) {
  209.   DoA3(this.r3obj, 221018, p1, R3TID_INTEGER, 0, p2, R3TID_OBJECT, 0, p3, R3TID_OBJECT, 0);
  210. }
  211.  
  212. // Description: Fetch the animation curve for the given choreography and attribute
  213. // Returns: Object, curve or null if the chor is not a key framer or the attribute
  214. //      is not animated
  215. // p1: Integer, attribute id
  216. // p2: Integer, attribute index or -1 for regular attrs
  217. // p3: Tag[], R3CHRYA_Active (chor index), R3KFRMA_Index (array index for array attributes)    
  218.  
  219. R3KFRMM_GETCURVEFORCHOREOGRA = 221019;
  220.  
  221. function mR3KFRMM_GETCURVEFORCHOREOGRA(p1, p2, p3) {
  222.   return R3ToJS(  Do3(this.r3obj, 221019, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY));
  223. }
  224.  
  225. // Description: Set input object for the given choreography.
  226. // Returns: Boolean, true if succeeded.
  227. // p1: Integer, choreography
  228. // p3: Tag[], R3KFRMA_InputTag, R3KFRMA_InputMth, R3KFRMA_InputIndex, R3KFRMA_InputSub, R3KFRMA_InputObj 
  229.  
  230. R3KFRMM_SETINPUT = 221020;
  231.  
  232. function mR3KFRMM_SETINPUT(p1, p3) {
  233.   return   Do2(this.r3obj, 221020, p1, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  234. }
  235.  
  236. // Description: Delete given points from array attribute.
  237. // p3: String, selected array    
  238.  
  239. R3KFRMM_DELSELECTEDPOINTSFOR = 221022;
  240.  
  241. function mR3KFRMM_DELSELECTEDPOINTSFOR(p3) {
  242.   DoA(this.r3obj, 221022, p3, R3TID_STRING, 0);
  243. }
  244.  
  245. // Description: Delete point from array variable.
  246. // Returns: Boolean, true if succeeded.
  247. // p3: Integer, index of the point to be deleted.    
  248.  
  249. R3KFRMM_DELPOINTBYINDEXFORTA = 221023;
  250.  
  251. function mR3KFRMM_DELPOINTBYINDEXFORTA(p3) {
  252.   return   DoA(this.r3obj, 221023, p3, R3TID_INTEGER, 0);
  253. }
  254.  
  255. // Description: Insert new point to array variable.
  256. // Returns: Boolean, true if succeeded
  257. // p3: Integer, index for the new point.    
  258.  
  259. R3KFRMM_INSERTPOINTBYINDEXFO = 221024;
  260.  
  261. function mR3KFRMM_INSERTPOINTBYINDEXFO(p3) {
  262.   return   DoA(this.r3obj, 221024, p3, R3TID_INTEGER, 0);
  263. }
  264.  
  265. // Description: Assign point 'from' to point 'to'
  266. // p1: Integer, index of the source point
  267. // p2: Integer, index of the target point
  268. // p3: Tag[], tag list containing R3KRMA_Tag (default -1) and R3KFRMA_Index (default -1).    
  269.  
  270. R3KFRMM_ASSIGNPOINTBYINDEXFO = 221025;
  271.  
  272. function mR3KFRMM_ASSIGNPOINTBYINDEXFO(p1, p2, p3) {
  273.   Do3(this.r3obj, 221025, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  274. }
  275.  
  276. // p1: Integer, tag
  277. // p3: Integer, perpoint flag    
  278.  
  279. R3KFRMM_SETTAGPERPOINT = 221026;
  280.  
  281. function mR3KFRMM_SETTAGPERPOINT(p1, p3) {
  282.   DoA2(this.r3obj, 221026, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  283. }
  284.  
  285. // Description: Expand the time line to cover the all key frames.
  286.  
  287. R3KFRMM_ADJUSTBEGINEND = 221027;
  288.  
  289. function mR3KFRMM_ADJUSTBEGINEND() {
  290.   DoA(this.r3obj, 221027, 0, R3TID_INTEGER, 0);
  291. }
  292.  
  293. // Description: Scale animation curves in X direction.
  294. // p1: Number, origin
  295. // p3: Number, scale factor    
  296.  
  297. R3KFRMM_SCALECURVESX = 221028;
  298.  
  299. function mR3KFRMM_SCALECURVESX(p1, p3) {
  300.   DoA2(this.r3obj, 221028, p1, R3TID_FLOAT, 0, p3, R3TID_FLOAT, 0);
  301. }
  302.  
  303. // Description: Assign index from 'from' to 'to'
  304. // p1: Integer, tag
  305. // p2: Integer, index 'from'
  306. // p3: Integer, index 'to'    
  307.  
  308. R3KFRMM_ASSIGNINDEXFORTAG = 221029;
  309.  
  310. function mR3KFRMM_ASSIGNINDEXFORTAG(p1, p2, p3) {
  311.   DoA3(this.r3obj, 221029, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  312. }
  313.  
  314. // Description: Assign tag from 'from' to 'to'
  315. // p1: Integer, tag 'from'
  316. // p2: Integer, tag 'to'
  317. // p3: Integer, index    
  318.  
  319. R3KFRMM_ASSIGNTAGFORINDEX = 221030;
  320.  
  321. function mR3KFRMM_ASSIGNTAGFORINDEX(p1, p2, p3) {
  322.   DoA3(this.r3obj, 221030, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  323. }
  324.  
  325. // Description: Weight changed, full recalc.
  326.  
  327. R3KFRMM_WEIGHTCHANGED = 221031;
  328.  
  329. function mR3KFRMM_WEIGHTCHANGED() {
  330.   DoA(this.r3obj, 221031, 0, R3TID_INTEGER, 0);
  331. }
  332.  
  333. // Returns: Boolean, TRUE if the tag is animated in the given choreography
  334. // p1: Integer, choreography index, -1 for the currently active choreography
  335. // p2: Integer, animated tag
  336. // p3: Integer, animated tag index
  337.  
  338. R3KFRMM_TAGISANIMATEDINCHORE = 221032;
  339.  
  340. function mR3KFRMM_TAGISANIMATEDINCHORE(p1, p2, p3) {
  341.   return   DoA3(this.r3obj, 221032, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  342. }
  343.  
  344. // Description: Add new tag to be animated in a single choreography
  345. // p1: Boolean, if true, no curves are created (caller will create anim curves later)
  346.  
  347. R3KFRMM_ADDTAGINCHOREOGRAPHY = 221033;
  348.  
  349. function mR3KFRMM_ADDTAGINCHOREOGRAPHY(p1) {
  350.   DoA2(this.r3obj, 221033, p1, R3TID_BOOLEAN, 0, 0, R3TID_INTEGER, 0);
  351. }
  352.  
  353. // Description: For constr. implementors. Can be called to break the constr. pipeline for    * an attribute.
  354. //      The current value is flushed and the data is freed.
  355. // p1: Integer, tag
  356. // p3: Integer, index or -1 for regular attrs    
  357.  
  358. R3KFRMM_BREAK = 221034;
  359.  
  360. function mR3KFRMM_BREAK(p1, p3) {
  361.   DoA2(this.r3obj, 221034, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  362. }
  363.  
  364. // Description: Private, don't call from the user code
  365.  
  366. R3KFRMM_UPDATETAG = 221036;
  367.  
  368. function mR3KFRMM_UPDATETAG() {
  369.   DoA(this.r3obj, 221036, 0, R3TID_INTEGER, 0);
  370. }
  371.  
  372. // Description: Find choreography by name
  373. // Returns: Object, chor object
  374. // p1: Object, attribute object
  375. // p3: String, name    
  376.  
  377. R3KFRMM_FINDCHOR = 221037;
  378.  
  379. function mR3KFRMM_FINDCHOR(p1, p3) {
  380.   return R3ToJS(  DoA2(this.r3obj, 221037, p1, R3TID_OBJECT, 0, p3, R3TID_STRING, 0));
  381. }
  382.  
  383. // Description: Create choreography object for the given choreography index
  384. // Returns: Object, chor object
  385. // p1: Object, animated attribute
  386. // p3: Integer, choreography index    
  387.  
  388. R3KFRMM_NEWCHOROBJ = 221038;
  389.  
  390. function mR3KFRMM_NEWCHOROBJ(p1, p3) {
  391.   return R3ToJS(  DoA2(this.r3obj, 221038, p1, R3TID_OBJECT, 0, p3, R3TID_INTEGER, 0));
  392. }
  393.  
  394. // Description: Update value of the given attribute object
  395. // Returns: Boolean, true if succeeded
  396. // p1: Object, attribute object
  397. // p2: Object, new value, the actual type is the type of the attribute
  398. // p3: Number, current time    
  399.  
  400. R3KFRMM_TAGOBJCHANGED = 221039;
  401.  
  402. function mR3KFRMM_TAGOBJCHANGED(p1, p2, p3) {
  403.   return   DoA3(this.r3obj, 221039, p1, R3TID_OBJECT, 0, p2, R3TID_OBJECT, 0, p3, R3TID_FLOAT, 0);
  404. }
  405.  
  406. // Description: Enumerate timelines
  407. // p1: Object, callback object
  408. // p2: Integer, callback method
  409. // p3: Tag[], R3CHRYA_Active - if -1, all chors are enumerated    
  410.  
  411. R3KFRMM_ENUMTIMELINES = 221040;
  412.  
  413. function mR3KFRMM_ENUMTIMELINES(p1, p2, p3) {
  414.   Do3(this.r3obj, 221040, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  415. }
  416.  
  417. // Description: Fetch attributes of attribute specified by tag + index.
  418. // Returns: Object, animated attribute object or NULL if the tag is not animated
  419. // p1: Integer, tag
  420. // p2: Integer, tag index for indexed attributes (-1 for regular attributes)
  421. // p3: Tag[], see tags for ADDTAG    
  422.  
  423. R3KFRMM_GETTAG = 221041;
  424.  
  425. function mR3KFRMM_GETTAG(p1, p2, p3) {
  426.   return R3ToJS(  Do3(this.r3obj, 221041, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY));
  427. }
  428.  
  429. // Description: For class implementers. A new type of attribute    * may need a special treatement. Attr
  430. //      handler may trigger    * several attributes and handle them in one pass. For example, Matrix transformation
  431. //      components can be animated independently. However, the animation system needs the entire matrix in order
  432. //      to interpolate the transformation.
  433. // Returns: Boolean, true if succeeded
  434. // p2: Integer, priority
  435. // p3: Integer[], null terminated array of attribute ids which should trigger the handler.    
  436.  
  437. R3KFRMCM_REGISTERATTRHANDLER = 221042;
  438.  
  439. function mR3KFRMCM_REGISTERATTRHANDLER(p2, p3) {
  440.   return   DoA3(this.r3obj, 221042, 0, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, R3TNF_ARRAY);
  441. }
  442.  
  443. // Description: Translate selected keys in time.
  444. // p1: Integer, tag
  445. // p2: Integer, tag index (-1 for regular tags)
  446. // p3: Tag[], R3CHRYA_Active, R3KFRMA_SnapToKey, R3KFRMA_Translation    
  447.  
  448. R3KFRMM_TRANSLATESELECTEDTIM = 221043;
  449.  
  450. function mR3KFRMM_TRANSLATESELECTEDTIM(p1, p2, p3) {
  451.   Do3(this.r3obj, 221043, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  452. }
  453.  
  454. // Description: Set time value for the selected keys.
  455. // Returns: Boolean, true if succeeded
  456. // p1: Integer, tag
  457. // p2: Integer, tag index (-1 for regular tags)
  458. // p3: Tag[], R3CHRYA_Active, R3KFRMA_Translation    
  459.  
  460. R3KFRMM_SETSELECTEDKEYS = 221044;
  461.  
  462. function mR3KFRMM_SETSELECTEDKEYS(p1, p2, p3) {
  463.   return   Do3(this.r3obj, 221044, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  464. }
  465.  
  466. // Description: R3ACOA_PointSize for all choreographs assiciated with the given attr.
  467. // p1: Integer, tag
  468. // p2: Integer, index,
  469. // p3: Integer, new size    
  470.  
  471. R3KFRMM_UPDATETAGSIZE = 221045;
  472.  
  473. function mR3KFRMM_UPDATETAGSIZE(p1, p2, p3) {
  474.   DoA3(this.r3obj, 221045, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  475. }
  476.  
  477. // Description: Given a time, find the next key frame time value
  478. // Returns: Boolean, true if found
  479. // p1: Integer, tag
  480. // p2: Integer, tag index
  481. // p3: Tag[], R3CHRYA_Active specifying the chor and R3KFRMA_Translation specifying the current time value    
  482.  
  483. R3KFRMM_NEXTTIMEKEY = 221046;
  484.  
  485. function mR3KFRMM_NEXTTIMEKEY(p1, p2, p3) {
  486.   return   Do3(this.r3obj, 221046, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  487. }
  488.  
  489. // Description: Given a time, find the previous key frame time value
  490. // Returns: Boolean, true if found
  491. // p1: Integer, tag
  492. // p2: Integer, tag index
  493. // p3: Tag[], R3CHRYA_Active specifying the chor and R3KFRMA_Translation specifying the current time value    
  494.  
  495. R3KFRMM_PREVTIMEKEY = 221047;
  496.  
  497. function mR3KFRMM_PREVTIMEKEY(p1, p2, p3) {
  498.   return   Do3(this.r3obj, 221047, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  499. }
  500.  
  501. // Description: See if the object has time sensitive choreographs.
  502. // Returns: Boolean, true if time sensitive choreographs found.
  503.  
  504. R3KFRMM_ISTIMEBASED = 221048;
  505.  
  506. function mR3KFRMM_ISTIMEBASED() {
  507.   return   DoA(this.r3obj, 221048, 0, R3TID_INTEGER, 0);
  508. }
  509.  
  510. // Description: Detach choreographs from their input objects.
  511. // p3: Object, input    
  512.  
  513. R3KFRMM_INVALIDATEINPUT = 221049;
  514.  
  515. function mR3KFRMM_INVALIDATEINPUT(p3) {
  516.   DoA(this.r3obj, 221049, p3, R3TID_OBJECT, 0);
  517. }
  518.  
  519. // Description: See if the choreography has input object
  520. // Returns: Boolean, true if input
  521. // p3: Integer, chor index    
  522.  
  523. R3KFRMM_HASINPUT = 221050;
  524.  
  525. function mR3KFRMM_HASINPUT(p3) {
  526.   return   DoA(this.r3obj, 221050, p3, R3TID_INTEGER, 0);
  527. }
  528.  
  529. // Description: Copy animated attributes associated with the given source object and choreography to given target
  530. //      object and choreography.
  531. // p1: Object, from object
  532. // p2: Integer, from choreography
  533. // p3: Integer, to choreography    
  534.  
  535. R3KFRMM_COPYANIMATEDATTRS = 221051;
  536.  
  537. function mR3KFRMM_COPYANIMATEDATTRS(p1, p2, p3) {
  538.   DoA3(this.r3obj, 221051, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  539. }
  540.  
  541. // Description: Create a new key frame .
  542. // p1: Integer, attribute
  543. // p3: Integer, attribute index or -1 for regular attributes    
  544.  
  545. R3KFRMM_NEWKEY = 221052;
  546.  
  547. function mR3KFRMM_NEWKEY(p1, p3) {
  548.   DoA2(this.r3obj, 221052, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  549. }
  550.  
  551. // Description: Select / deselect the given attribute
  552. // Returns: Boolean, true if attribute was found
  553. // p1: Integer, tag id
  554. // p2: Integer, tag index, or -1 for regular attrs.
  555. // p3: Boolean, TRUE selects, FALSE deselects    
  556.  
  557. R3KFRMM_SELECTTAG = 221053;
  558.  
  559. function mR3KFRMM_SELECTTAG(p1, p2, p3) {
  560.   return   DoA3(this.r3obj, 221053, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_BOOLEAN, 0);
  561. }
  562.  
  563. // Description: Enumerate animated attributes
  564. // p2: Integer, callback method
  565. // p3: Tag[], R3KFRMA_Tag, R3KFRMA_Index, R3KFRMA_Type, R3KFRMA_Selected    
  566.  
  567. R3KFRMM_ENUMATTRS = 221054;
  568.  
  569. function mR3KFRMM_ENUMATTRS(p2, p3) {
  570.   Do3(this.r3obj, 221054, 0, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_TAG, R3TNF_ARRAY);
  571. }
  572.  
  573. // Description: See if the given attribute is selected
  574. // Returns: Boolean, true if selected
  575. // p1: Integer, tag
  576. // p3: Integer, tag index or -1 for regular attrs.    
  577.  
  578. R3KFRMM_TAGISSELECTED = 221055;
  579.  
  580. function mR3KFRMM_TAGISSELECTED(p1, p3) {
  581.   return   DoA2(this.r3obj, 221055, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  582. }
  583.  
  584. // Description: Enable keyframing for the tag.
  585. // Returns: Boolean, true if succeeded
  586. // p1: Integer, tag
  587. // p2: Integer, index
  588. // p3: Boolean, true to enable, false to disable    
  589.  
  590. R3KFRMM_TAGENABLEKEYFR = 221056;
  591.  
  592. function mR3KFRMM_TAGENABLEKEYFR(p1, p2, p3) {
  593.   return   DoA3(this.r3obj, 221056, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_BOOLEAN, 0);
  594. }
  595.  
  596. // Description: See if the given attribute is enabled for keyframing
  597. // Returns: Boolean, true if enabled
  598. // p1: Integer, attribute id
  599. // p3: Integer, attr index    
  600.  
  601. R3KFRMM_TAGISKEYFRENABLED = 221057;
  602.  
  603. function mR3KFRMM_TAGISKEYFRENABLED(p1, p3) {
  604.   return   DoA2(this.r3obj, 221057, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  605. }
  606.  
  607. // Description: Constructors call this to flush attribute they depend on.    *
  608. // Returns: Boolean, true if attribute was managed
  609. // p1: Integer, attribute id
  610. // p3: Integer, index or -1 for regular attrs    
  611.  
  612. R3KFRMM_FLUSH = 221058;
  613.  
  614. function mR3KFRMM_FLUSH(p1, p3) {
  615.   return   DoA2(this.r3obj, 221058, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  616. }
  617.  
  618. // Description: Remove constructor
  619. // p1: Object, attribute object
  620. // p3: Object, object to be removed    
  621.  
  622. R3KFRMM_REMOVE = 221059;
  623.  
  624. function mR3KFRMM_REMOVE(p1, p3) {
  625.   DoA2(this.r3obj, 221059, p1, R3TID_OBJECT, 0, p3, R3TID_OBJECT, 0);
  626. }
  627.  
  628.  
  629. R3KFRMM_ISWEIGHTANIMATEABLE = 221060;
  630.  
  631. function mR3KFRMM_ISWEIGHTANIMATEABLE() {
  632.   DoA(this.r3obj, 221060, 0, R3TID_INTEGER, 0);
  633. }
  634.  
  635. // Description: Delete the currently selected time keys.
  636. // p1: Integer, attribute
  637. // p2: Integer, attribute index, or -1 for regular attrs
  638. // p3: Integer, choreography index    
  639.  
  640. R3KFRMM_DELSELECTEDKNOTS = 221061;
  641.  
  642. function mR3KFRMM_DELSELECTEDKNOTS(p1, p2, p3) {
  643.   DoA3(this.r3obj, 221061, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  644. }
  645.  
  646. // Description: Delete the choreography object associated    * with the given animated attribute and the choreography index.
  647. // p1: Object, animated attribute
  648. // p3: Integer, choreography index    
  649.  
  650. R3KFRMM_DELCHOROBJ = 221062;
  651.  
  652. function mR3KFRMM_DELCHOROBJ(p1, p3) {
  653.   DoA2(this.r3obj, 221062, p1, R3TID_OBJECT, 0, p3, R3TID_INTEGER, 0);
  654. }
  655.  
  656. // Description: Fetch the input object of a choreography
  657. // Returns: Object, input object
  658. // p3: Integer, chor index    
  659.  
  660. R3KFRMM_GETINPUTOBJ = 221063;
  661.  
  662. function mR3KFRMM_GETINPUTOBJ(p3) {
  663.   return R3ToJS(  DoA(this.r3obj, 221063, p3, R3TID_INTEGER, 0));
  664. }
  665.  
  666. // Description: Set input object for the choreography
  667. // Returns: Boolean, true if chor index is valid
  668. // p1: Integer, chor index
  669. // p3: Object, input object    
  670.  
  671. R3KFRMM_SETINPUTOBJ = 221064;
  672.  
  673. function mR3KFRMM_SETINPUTOBJ(p1, p3) {
  674.   return   DoA2(this.r3obj, 221064, p1, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  675. }
  676.  
  677. // Description: Select keyframes between the given range
  678. // Returns: Integer, number of points selected
  679. // p1: Integer, disabled mask (1 corresponds to x curve etc.)
  680. // p2: Number, start
  681. // p3: Number, end    
  682.  
  683. R3KFRMM_SELECTRANGE = 221065;
  684.  
  685. function mR3KFRMM_SELECTRANGE(p1, p2, p3) {
  686.   return   DoA3(this.r3obj, 221065, p1, R3TID_INTEGER, 0, p2, R3TID_FLOAT, 0, p3, R3TID_FLOAT, 0);
  687. }
  688.  
  689. // Description: Shift keyframe curves to start from origin so that they define    * identity transformation there.
  690. // p1: Integer, attribute
  691. // p2: Integer, index or -1 for regular attributes
  692. // p3: Integer, choregraphy    
  693.  
  694. R3KFRMM_SHIFTTOORIGINY = 221066;
  695.  
  696. function mR3KFRMM_SHIFTTOORIGINY(p1, p2, p3) {
  697.   DoA3(this.r3obj, 221066, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  698. }
  699.  
  700.  
  701.  
  702.  
  703. R3KFRMA_UserObject = 221500;
  704. function SetR3KFRMA_UserObject(value) {
  705.   R3Set(this.r3obj, R3KFRMA_UserObject, value, R3TID_OBJECT, 0); 
  706. }
  707.  
  708. function GetR3KFRMA_UserObject() {
  709.   return R3ToJS(R3Get(this.r3obj, R3KFRMA_UserObject, R3TID_OBJECT, 0)); 
  710. }
  711.  
  712. R3KFRMA_Time = 221501;
  713. function SetR3KFRMA_Time(value) {
  714.   R3Set(this.r3obj, R3KFRMA_Time, value, R3TID_FLOAT, 0); 
  715. }
  716.  
  717. function GetR3KFRMA_Time() {
  718.   return R3Get(this.r3obj, R3KFRMA_Time, R3TID_FLOAT, 0); 
  719. }
  720.  
  721. var R3KFRMA_Tag = 221503; // Integer
  722. var R3KFRMA_Origval = 221504; // Object
  723. var R3KFRMA_IsQuaternionAngle = 221505; // Boolean
  724. var R3KFRMA_NumVals = 221506; // Integer
  725. var R3KFRMA_List = 221511; // Boolean
  726. var R3KFRMA_Relative = 221512; // Boolean
  727. R3KFRMA_NewKeyTolerance = 221513;
  728. function SetR3KFRMA_NewKeyTolerance(value) {
  729.   R3Set(this.r3obj, R3KFRMA_NewKeyTolerance, value, R3TID_FLOAT, 0); 
  730. }
  731.  
  732. var R3KFRMA_WeightTag = 221514; // Integer
  733. var R3KFRMA_InputObj = 221515; // Object
  734. var R3KFRMA_InputTag = 221516; // Integer
  735. var R3KFRMA_InputIndex = 221517; // Integer
  736. var R3KFRMA_InputSub = 221518; // Integer
  737. var R3KFRMA_Chor = 221519; // Integer
  738. var R3KFRMA_PerPoint = 221520; // Boolean
  739. var R3KFRMA_AngleType = 221522; // Integer
  740. var R3KFRMA_InputMth = 221523; // Integer
  741. var R3KFRMA_SnapToKey = 221526; // Boolean
  742. var R3KFRMA_Translation = 221527; // Number
  743. R3KFRMA_AnimatedAttrs = 221529;
  744. function GetR3KFRMA_AnimatedAttrs() {
  745.   return R3Get(this.r3obj, R3KFRMA_AnimatedAttrs, R3TID_LIST, R3TNF_ARRAY); 
  746. }
  747.  
  748. var R3KFRMA_Selected = 221530; // Boolean
  749. var R3KFRMA_ByValue = 221531; // Boolean
  750. var R3KFRMA_InputBeginMth = 221533; // Integer
  751. var R3KFRMA_InputEndMth = 221534; // Integer
  752.  
  753.  
  754. function r3Keyframe2 () { 
  755.    this.base = r3God;
  756.    if(arguments.length) {
  757.       this.base(R3CLID_KEYFRAME2, arguments);
  758.    }
  759.    // Methods
  760.    this.ADDTAG=mR3KFRMM_ADDTAG;
  761.    this.TAGISANIMATED=mR3KFRMM_TAGISANIMATED;
  762.    this.TAGCHANGED=mR3KFRMM_TAGCHANGED;
  763.    this.NEWTIME=mR3KFRMM_NEWTIME;
  764.    this.NEWCHOREOGRAPHYTIME=mR3KFRMM_NEWCHOREOGRAPHYTIME;
  765.    this.SETTIMEOVERRIDE=mR3KFRMM_SETTIMEOVERRIDE;
  766.    this.UNSETTIMEOVERRIDE=mR3KFRMM_UNSETTIMEOVERRIDE;
  767.    this.REMOVETAG=mR3KFRMM_REMOVETAG;
  768.    this.GETCURVE=mR3KFRMM_GETCURVE;
  769.    this.RECALCTAG=mR3KFRMM_RECALCTAG;
  770.    this.TIMEOVERRIDE=mR3KFRMM_TIMEOVERRIDE;
  771.    this.CHANGENUMVALSFORTAG=mR3KFRMM_CHANGENUMVALSFORTAG;
  772.    this.ENUMCURVES=mR3KFRMM_ENUMCURVES;
  773.    this.CHANGETAGID=mR3KFRMM_CHANGETAGID;
  774.    this.SETORIGVAL=mR3KFRMM_SETORIGVAL;
  775.    this.GETORIGVAL=mR3KFRMM_GETORIGVAL;
  776.    this.MAKECHOROBJECTS=mR3KFRMM_MAKECHOROBJECTS;
  777.    this.GETCHOROBJ=mR3KFRMM_GETCHOROBJ;
  778.    this.INSERT=mR3KFRMM_INSERT;
  779.    this.GETCURVEFORCHOREOGRA=mR3KFRMM_GETCURVEFORCHOREOGRA;
  780.    this.SETINPUT=mR3KFRMM_SETINPUT;
  781.    this.DELSELECTEDPOINTSFOR=mR3KFRMM_DELSELECTEDPOINTSFOR;
  782.    this.DELPOINTBYINDEXFORTA=mR3KFRMM_DELPOINTBYINDEXFORTA;
  783.    this.INSERTPOINTBYINDEXFO=mR3KFRMM_INSERTPOINTBYINDEXFO;
  784.    this.ASSIGNPOINTBYINDEXFO=mR3KFRMM_ASSIGNPOINTBYINDEXFO;
  785.    this.SETTAGPERPOINT=mR3KFRMM_SETTAGPERPOINT;
  786.    this.ADJUSTBEGINEND=mR3KFRMM_ADJUSTBEGINEND;
  787.    this.SCALECURVESX=mR3KFRMM_SCALECURVESX;
  788.    this.ASSIGNINDEXFORTAG=mR3KFRMM_ASSIGNINDEXFORTAG;
  789.    this.ASSIGNTAGFORINDEX=mR3KFRMM_ASSIGNTAGFORINDEX;
  790.    this.WEIGHTCHANGED=mR3KFRMM_WEIGHTCHANGED;
  791.    this.TAGISANIMATEDINCHORE=mR3KFRMM_TAGISANIMATEDINCHORE;
  792.    this.ADDTAGINCHOREOGRAPHY=mR3KFRMM_ADDTAGINCHOREOGRAPHY;
  793.    this.BREAK=mR3KFRMM_BREAK;
  794.    this.UPDATETAG=mR3KFRMM_UPDATETAG;
  795.    this.FINDCHOR=mR3KFRMM_FINDCHOR;
  796.    this.NEWCHOROBJ=mR3KFRMM_NEWCHOROBJ;
  797.    this.TAGOBJCHANGED=mR3KFRMM_TAGOBJCHANGED;
  798.    this.ENUMTIMELINES=mR3KFRMM_ENUMTIMELINES;
  799.    this.GETTAG=mR3KFRMM_GETTAG;
  800.    this.REGISTERATTRHANDLER=mR3KFRMCM_REGISTERATTRHANDLER;
  801.    this.TRANSLATESELECTEDTIM=mR3KFRMM_TRANSLATESELECTEDTIM;
  802.    this.SETSELECTEDKEYS=mR3KFRMM_SETSELECTEDKEYS;
  803.    this.UPDATETAGSIZE=mR3KFRMM_UPDATETAGSIZE;
  804.    this.NEXTTIMEKEY=mR3KFRMM_NEXTTIMEKEY;
  805.    this.PREVTIMEKEY=mR3KFRMM_PREVTIMEKEY;
  806.    this.ISTIMEBASED=mR3KFRMM_ISTIMEBASED;
  807.    this.INVALIDATEINPUT=mR3KFRMM_INVALIDATEINPUT;
  808.    this.HASINPUT=mR3KFRMM_HASINPUT;
  809.    this.COPYANIMATEDATTRS=mR3KFRMM_COPYANIMATEDATTRS;
  810.    this.NEWKEY=mR3KFRMM_NEWKEY;
  811.    this.SELECTTAG=mR3KFRMM_SELECTTAG;
  812.    this.ENUMATTRS=mR3KFRMM_ENUMATTRS;
  813.    this.TAGISSELECTED=mR3KFRMM_TAGISSELECTED;
  814.    this.TAGENABLEKEYFR=mR3KFRMM_TAGENABLEKEYFR;
  815.    this.TAGISKEYFRENABLED=mR3KFRMM_TAGISKEYFRENABLED;
  816.    this.FLUSH=mR3KFRMM_FLUSH;
  817.    this.REMOVE=mR3KFRMM_REMOVE;
  818.    this.ISWEIGHTANIMATEABLE=mR3KFRMM_ISWEIGHTANIMATEABLE;
  819.    this.DELSELECTEDKNOTS=mR3KFRMM_DELSELECTEDKNOTS;
  820.    this.DELCHOROBJ=mR3KFRMM_DELCHOROBJ;
  821.    this.GETINPUTOBJ=mR3KFRMM_GETINPUTOBJ;
  822.    this.SETINPUTOBJ=mR3KFRMM_SETINPUTOBJ;
  823.    this.SELECTRANGE=mR3KFRMM_SELECTRANGE;
  824.    this.SHIFTTOORIGINY=mR3KFRMM_SHIFTTOORIGINY;
  825.  
  826.    // Attributes
  827.    this.GetUserObject=GetR3KFRMA_UserObject;
  828.    this.SetUserObject=SetR3KFRMA_UserObject;
  829.    this.GetTime=GetR3KFRMA_Time;
  830.    this.SetTime=SetR3KFRMA_Time;
  831.    this.SetNewKeyTolerance=SetR3KFRMA_NewKeyTolerance;
  832.    this.GetAnimatedAttrs=GetR3KFRMA_AnimatedAttrs;
  833. }
  834.  
  835. r3Keyframe2.prototype=new r3Choreography;
  836. // r3keyfr2.h_H